import java.util.Scanner;

public class day5 {
    /**
     * 模拟 + 字符串
     * OR62 倒置字符串
     * https://www.nowcoder.com/practice/ee5de2e7c45a46a090c1ced2fdc62355?tpId=182&tqId=34788&ru=/exam/oj
     */
    public static void main3(String[] args) {
        Scanner in = new Scanner(System.in);
        // 分成两步进行
        char[] s = in.nextLine().toCharArray();
        // 1.将所有的字符串进行倒置
        int n = s.length;
        reverse(s,0,n - 1);
        // 2.对倒置后的字符串进行遍历，找到一个单词就对其进行倒置
        int left = 0,right = 0;
        while(left < n) {
            // 寻找每一个单词的结束位置
            while(right < n && s[right] != ' ') {
                right++;
            }
            // 这个时候right为空格
            reverse(s,left,right - 1);
            // 这样就翻转一个单词了
            // 翻转后，在后面跳过空格
            while(right < n && s[right] == ' ') {
                right++;
            }
            left = right;
        }
        for(char ss : s) {
            System.out.print(ss);
        }
    }

    public static void reverse(char[] s,int left,int right) {
        int l = left,r = right;
        while(l < r) {
            char t = s[l];
            s[l] = s[r];
            s[r] = t;
            l++;
            r--;
        }
    }


    /**
     * 贪心
     * DP31 买卖股票的最好时机(二)
     * https://www.nowcoder.com/practice/fbc5dad3e215457fb82a3ae688eb7281?tpId=230&tqId=39768&ru=/exam/oj
     */
    public static void main2(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int[] prices = new int[n];
        for(int i = 0;i < n;i++) {
            prices[i] = in.nextInt();
        }

        int ret = 0;
        // 直接计算当前数如果比前一个数大，那么直接进行求利润，不用去找最小值
        for(int i = 1;i < n;i++) {
            if(prices[i] > prices[i - 1]) {
                ret += prices[i] - prices[i - 1];
            }
        }
        System.out.print(ret);
    }


    /**
     * 模拟
     * 游游的水果大礼包
     * https://ac.nowcoder.com/acm/problem/255193
     */
    public static void main1(String[] args) {
        // 这个题不能使用 贪心，应该直接进行枚举
        // 假如 n=2,m=100 a=3,b=2 那么最优解应该选择 两个b，而非选择a
        Scanner in = new Scanner(System.in);
        long n = in.nextLong();
        long m = in.nextLong();
        long a = in.nextLong();
        long b = in.nextLong();

        long ret = 0;
        // 枚举所有的情况，进行求取最大值
        for(long x = 0;x <= Math.min(n / 2,m);x++) {
            // 选完 1号 之后，剩余的可以选择几个2号
            long y = Math.min(n - x * 2,(m - x) / 2);
            // 进行选择最大值
            ret = Math.max(ret,x * a + b * y);
        }
        System.out.println(ret);
    }
}

